home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / qlib205.zip / QLIB.ZIP / H / VESA.H < prev    next >
C/C++ Source or Header  |  1996-11-30  |  3KB  |  74 lines

  1. //*****************************************************************
  2. //
  3. //  VESA library include file
  4. //
  5. //*****************************************************************
  6.  
  7. // Data structure for VESA function 4F00h ( Get VBE Information )
  8. //
  9.  
  10. struct vesa_infoblock { 
  11.   byte   VbeSignature;       // VBE Signature
  12.   word   VbeVersion;         // VBE Version
  13.   dword  OemStringPtr;       // Pointer to OEM String
  14.   dword  Capabilities;       // Capabilities of graphics cont.
  15.   dword  VideoModePtr;       // Pointer to Video Mode List
  16.   word   TotalMemory;        // Number of 64kb memory blocks
  17. // Added for VBE 2.0
  18.   word   OemSoftwareRev;     // VBE implementation Software revision
  19.   dword  OemVendorNamePtr;   // Pointer to Vendor Name String
  20.   dword  OemProductNamePtr;  // Pointer to Product Name String
  21.   dword  OemProductRevPtr;   // Pointer to Product Revision String
  22.   byte   _Reserved_[222];    // Reserved for VBE implementation
  23.                                      // scratch area
  24.   byte   OemData[256];      // Data Area for OEM Strings
  25. };
  26.  
  27.  
  28. // Data structure for VESA function 4F01h ( Get mode Information )
  29. //
  30. struct vesa_modeinfoblock {
  31.   // Mandatory information for all VBE revisions
  32.   word   ModeAttributes;     // mode attributes
  33.   byte   WinAAttributes;     // window A attributes
  34.   byte   WinBAttributes;     // window B attributes
  35.   word   WinGranularity;     // window granularity
  36.   word   WinSize;            // window size
  37.   word   WinASegment;        // window A start segment
  38.   word   WinBSegment;        // window B start segment
  39.   dword  WinFuncPtr;         // pointer to window function
  40.   word   BytesPerScanLine;   // bytes per scan line
  41.  
  42.   // Mandatory information for VBE 1.2 and above
  43.   word   XResolution;        // horizontal resolution in pixels or chars
  44.   word   YResolution;        // vertical resolution in pixels or chars
  45.   byte   XCharSize;          // character cell width in pixels
  46.   byte   YCharSize;          // character cell height in pixels
  47.   byte   NumberOfPlanes;     // number of memory planes
  48.   byte   BitsPerPixel;       // bits per pixel
  49.   byte   NumberOfBanks;      // number of banks
  50.   byte   MemoryModel;        // memory model type
  51.   byte   BankSize;           // bank size in KB
  52.   byte   NumberOfImagePages; // number of images
  53.   byte   _Reserved;          // reserved for page function
  54.  
  55.   // Direct Color fields (required for direct/6 and YUV/7 memory models)
  56.   byte   RedMaskSize;        // size of direct color red mask in bits
  57.   byte   RedFieldPosition;   // bit position of lsb of red mask
  58.   byte   GreenMaskSize;      // size of direct color green mask in bits
  59.   byte   GreenFieldPosition; // bit position of lsb of green mask
  60.   byte   BlueMaskSize;       // size of direct color blue mask in bits
  61.   byte   BlueFieldPosition;  // bit position of lsb of blue mask
  62.   byte   RsvdMaskSize;       // size of direct color reserved mask in bits
  63.   byte   RsvdFieldPosition;  // bit position of lsb of reserved mask
  64.   byte   DirectColorModeInfo;// direct color mode attributes
  65.  
  66.   // Mandatory information for VBE 2.0 and above
  67.   dword  PhysBasePtr;        // physical address for flat frame buffer
  68.   dword  OffScreenMemOffset; // pointer to start of off screen memory
  69.   word   OffScreenMemSize;   // amount of off screen memory in 1k units
  70.   byte   __Reserved[206];    // remainder of ModeInfoBlock
  71. };
  72.  
  73.  
  74.